<template>
    <div class="login-wrap">
        <div class="ms-login">
            <div class="ms-title">智慧物流后台管理系统</div>
            <el-form v-show="login_type === 'username'" :model="param" :rules="rules" ref="login" label-width="0px" class="ms-content">
                <el-form-item prop="username">
                    <el-input v-model="param.username" placeholder="用户名">
                        <template #prepend>
                            <el-button icon="el-icon-user"></el-button>
                        </template>
                    </el-input>
                </el-form-item>
                <el-form-item prop="password">
                    <el-input type="password" placeholder="密码" v-model="param.password"
                        @keyup.enter="submitForm()">
                        <template #prepend>
                            <el-button icon="el-icon-lock"></el-button>
                        </template>
                    </el-input>
                </el-form-item>
                <div class="login-btn">
                    <el-button type="primary" @click="submitForm()">登录</el-button>
                </div>
            </el-form>
        </div>
    </div>
</template>

<script setup>
import { ref, reactive } from "vue";
import { useStore } from "vuex";
import { useRouter } from "vue-router";
import { ElMessage, ElLoading } from "element-plus";
import request from "../utils/request"
import Methods from "../utils/Methods";
const login_type = ref('username')
let loading = null
const loadingStart = () => {
	loading = ElLoading.service({
		lock: true,
		text: '正在验证...',
		spinner: 'el-icon-loading',
		background: 'rgba(0, 0, 0, 0)',
	})
}

const router = useRouter();
const param = reactive({
	username: "",
	password: "",
});

const rules = {
	username: [{required: true, message: "请输入用户名", trigger: "blur",},],
	password: [{ required: true, message: "请输入密码", trigger: "blur" },],
};

const login = ref(null);

const submitForm = () => {
	login.value.validate((valid) => {
    if (valid) {
      request.post('/manage/login/login',{
        username: param.username,
        password: param.password,
      }).then(res => {
        ElMessage.success("登录成功")
        // console.log(res)
        Methods.setLocalStorage('uid',res.admin_id)
        Methods.setLocalStorage('avatar',res.avatar)
        Methods.setLocalStorage('realname',res.realname)
        Methods.setLocalStorage('username',res.username)
        Methods.setLocalStorage('token',res.token)
        Methods.setLocalStorage('last_refresh_time',new Date().getTime()/1000)
        // loading.close()
        router.push("/")
      }).catch(err => {
        // loading.close()
        console.log(err,'----login err')
      })
		} else {
			return false;
		}
	});
};

const store = useStore();
store.commit("clearTags");
</script>

<style scoped lang="scss">
@import "../assets/aliiconfont/iconfont.css";
.login-wrap {
    position: relative;
    width: 100%;
    height: 100%;
    background-image: url('../assets/img/login-bg.png');
    background-size: cover;
	background-position: center center;
}
.ms-login {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 350px;
    margin: -190px 0 0 -175px;
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.3);
    overflow: hidden;
	.ms-title {
		width: 100%;
		line-height: 50px;
		text-align: center;
		font-size: 20px;
		color: #fff;
		border-bottom: 1px solid #ddd;
	}
	.ms-content {
		padding: 30px 30px;
	}
	.login-btn {
		text-align: center;
	}
	.login-btn button {
		width: 100%;
		height: 36px;
		margin-bottom: 10px;
	}
	.login-tips {
		font-size: 12px;
		line-height: 30px;
		color: #eee;
	}
}

</style>
